﻿using System.Threading.Tasks;
using Abp.Application.Services;
using Sunlit.Business.Authorization.Accounts.Dto;

namespace Sunlit.Business.Authorization.Accounts
{
    public interface IAccountAppService : IApplicationService
    {
        Task<IsTenantAvailableOutput> IsTenantAvailable(IsTenantAvailableInput input);

        Task<RegisterOutput> Register(RegisterInput input);
        /// <summary>
        /// 发送手机登录验证码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task SendMobileLoginCode(SendMobileLoginCodeInput input);
        /// <summary>
        /// 发送重置密码验证码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task SendPasswordResetCode(SendPasswordResetCodeInput input);
        /// <summary>
        /// 重置密码
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<ResetPasswordOutput> ResetPassword(ResetPasswordInput input);
    }
}
